package com.sunyur.tailor.channel.service.inner.purchase.model;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @ClassName PurchaserApplyHeadVO
 * @Author yu.chen
 * @Date 2021/4/23 22:10
 * @Version 1.0
 **/
@Data
public class PurchaserApplyHeadModel  implements Serializable  {

    private static final long serialVersionUID = -8351172575988749304L;

    /**
     * 采购单code
     */
    private String applyCode;

    /**
     * 采购名称
     */
    private String applyName;

    /**
     * 申请人部门编码
     */
    private String proposerOrgCode;

    /**
     * 申请人部门名称
     */
    private String proposerOrgName;

    /**
     * 申请人工号
     */
    private String proposerCode;

    /**
     * 申请人名称
     */
    private String proposerName;

    /**
     * 公司主体code
     */
    private String companyCode;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 采购说明
     */
    private String applyDescribe;

    /**
     * 业务单元编码
     */
    private String businessUnitCode;

    /**
     * 业务单元名称
     */
    private String businessUnitName;

    /**
     * 附件列表
     */
    private List<FileInfo> files;

    /**
     * 申请类型
     */
    private String applyType;

    /**
     * 租户个性化请购头配置
     * {
     *       "masterOrg":"";                      // 主控部门
     *       "purchaseAttribute":"non_mrp_prod"    //采购属性
     * }
     */
    private String personalConfig;

    /**
     * 申请单状态
     * 0 草稿， 1受理中， 2 待审批， 3 审批通过， 4 审批不通过， 5 关闭
     */
    private Integer applyStatus;

    /**
     * 项目编码
     */
    private String projectCode;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 创建时间（涉及同单据多次提报，取首次创建时间）
     */
    private Long createTime;

    @Data
    public class FileInfo implements Serializable {

        private static final long serialVersionUID = -3938868595394365791L;

        /**
         * 附件名称
         */
        private String fileName;

        /**
         * 附件大小
         */
        private String fileSize;

        /**
         * 附件路径
         */
        private String fileUrl;
    }
}
